// components/authorization/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {},

  /**
   * 组件的初始数据
   */
  data: {
    isLogin: false,
  },
  lifetimes: {
    attached() {
      // 获取登录状态
      const isLogin = !!getApp().token
      // 变更登录状态
      this.setData({ isLogin })
      // 获取页面栈
      const pageStack = getCurrentPages()
      const currentPage = pageStack.pop()
      // console.log(pageInstance)
      // 未登录的情况下跳转到登录页面
      if (!isLogin) {
        // 使用空函数覆盖页面中的onLoad 和 onShow方法
        // 原因：当用户未登录时会在点击下个页面发起请求，让下一个页面的onLoad 和 onShow方法失效
        currentPage.onLoad = () => {}
        currentPage.onShow = () => {}
        const isTabBarPage = wx.utils.isTabBarPage(currentPage.route)
        // 如果是则使用 wx.switchTab方法跳转
        const routeType = isTabBarPage ? 'switchTab' : 'redirectTo'
        wx.redirectTo({
          url: `/pages/login/index?redirectURL=/${currentPage.route}&routeType=${routeType}`,
        })
      }
    },
  },

  /**
   * 组件的方法列表
   */
  methods: {},
})
